/**
 * 深度优先搜索英文缩写为 DFS ，即Depth First Search
 * 其过程简要来说是对每一个可能的分支路径深入到不能再深入为止，而且咩哥节点只能访问一次
 * 应用场景：
 *    React虚拟DOM的构建
 *    React的fiber树的构建
 */

function dfs(node){
  console.log(node.name);
  node.children && node.children.forEach(child => {
    dfs(child)
  });
}
let root = {
  name: 'A',
  children: [
      {
          name: 'B',
          children: [
              { name: 'B1' },
              { name: 'B2' }
          ]
      },
      {
          name: 'C',
          children: [
              { name: 'C1' },
              { name: 'C2' }
          ]
      }
  ]
}
dfs(root);